/**
 * Copyright © Copyright Kevin Doyle 2012 Rhebogue Road,Limerick, Ireland.
 * Contact me at kfrdoyle@gmail.com This software was created by me Kevin Doyle
 * in 07/03/2012. I made is available to the public on 07/03/2012. You need my
 * permission to use this software in a commercial context. Although this code
 * is hosted on google code I do not agree with the licensing policy of google
 * code.
 */
package anti_ship_missile_factory;

/**
 * @param launchLatitude latitude is a geographic coordinate that specifies the
 * north-south position of a point on the Earth's surface. +/-90°.
 * @param launchLongitude is a geographic coordinate that specifies the
 * east-west position of a point on the Earth's surface. 0-360°.
 * @param launchAltitude A measure of height above sea level measured in meters.
 * @param targetLatitude latitude is a geographic coordinate that specifies the
 * north-south position of a point on the Earth's surface. +/-90°.
 * @param targetLongitude is a geographic coordinate that specifies the
 * east-west position of a point on the Earth's surface. 0-360°.
 * @param targetAltitudeA measure of height above sea level measured in
 * meters.<BR>
 * @param preSelectedTargetLatitudes[] predefined latitudes for the sake of this
 * simulator.
 * @param preSelectedTargetLonitudes[] predefined longitudes for the sake of
 * this simulator.
 * @param preSelectedLaunchLatitudes[] predefined latitudes for the sake of this
 * simulator.
 * @param preSelectedLaunchLongitudes[] predefined longitudes for the sake of
 * this simulator.
 * @param model variant of missile make.
 * @param make product line variant of manufacturer
 * @param manufacturer corporate entity who manufacture this product.
 * @param statusCodes[] states of operational change.
 * @author Kevin Doyle kfrdoyle@gmail.com
 */
public abstract class AntiShipMissile {

    double launchLatitude,
            launchLongitude,
            launchAltitude,
            targetLatitude,
            targetLongitude,
            impactAltitude;
    
    String model, make, manufacturer;
    final double[] preSelectedTargetLatitudes = {53.6004, 53.6104, 53.6204},
            preSelectedTargetLonitudes = {-10.3256, -10.3456, -10.3156},
            launchAlts = {18000, 17000, 19000},
            preSelectedLaunchLatitudes = {52.55000000000001, 52.5700000000001, 52.58000000000001},
            launchLons = {-9.94680000000001, -9.93680000000001, -9.96680000000001};
    final String[] statusCodes = {"READY TO FIRE", "IN FLIGHT", "DIRECT HIT", "FLIGHT ABORT", "SYSTEM FAILURE"};

    public double getImpactAltitude() {
        return impactAltitude;
    }

    public double getLaunchAltitude() {
        return launchAltitude;
    }

    public double[] getLaunchAlts() {
        return launchAlts;
    }

    public double getLaunchLatitude() {
        return launchLatitude;
    }

    public double getLaunchLongitude() {
        return launchLongitude;
    }

    public double[] getLaunchLons() {
        return launchLons;
    }

    public String getMake() {
        return make;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public String getModel() {
        return model;
    }

    public double[] getPreSelectedLaunchLatitudes() {
        return preSelectedLaunchLatitudes;
    }

    public double[] getPreSelectedTargetLatitudes() {
        return preSelectedTargetLatitudes;
    }

    public double[] getPreSelectedTargetLonitudes() {
        return preSelectedTargetLonitudes;
    }

    public String[] getStatusCodes() {
        return statusCodes;
    }

    public double getTargetLatitude() {
        return targetLatitude;
    }

    public double getTargetLongitude() {
        return targetLongitude;
    }

    public void setImpactAltitude(double impactAltitude) {
        this.impactAltitude = impactAltitude;
    }

    public void setLaunchAltitude(double launchAltitude) {
        this.launchAltitude = launchAltitude;
    }

    public void setLaunchLatitude(double launchLatitude) {
        this.launchLatitude = launchLatitude;
    }

    public void setLaunchLongitude(double launchLongitude) {
        this.launchLongitude = launchLongitude;
    }

    public void setMake(String make) {
        this.make = make;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public void setTargetLatitude(double targetLatitude) {
        this.targetLatitude = targetLatitude;
    }

    public void setTargetLongitude(double targetLongitude) {
        this.targetLongitude = targetLongitude;
    }

}
